<template>
  <div>
    <router-link to="/" tag="div" class="header-abs" v-show="showAbs">
      <span class="iconfont header-abs-icon">&#xe624;</span>
    </router-link>
    <div class="header-fixed" v-show="!showAbs" :style="opacityStyle">
      {{name}}
      <router-link to="/">
        <div class="iconfont header-fixed-back">&#xe624;</div>
      </router-link>
    </div>
  </div>
</template>

<script>
export default {
  data(){
    return{
      showAbs:true,
      opacityStyle:{
        opacity:0,
      }
    }
  },
  props: {
    name: String,
  },
  methods:{
    handleScroll(){
      const top=document.documentElement.scrollTop
      if (top>60) {
          let opacity = top/140
          opacity=opacity>1?1:opacity
          this.opacityStyle={opacity}
          this.showAbs=false
      } else {
          this.showAbs=true
      }
    },
  },
  activated(){
      window.addEventListener("scroll",this.handleScroll)
  },
  deactivated(){
      window.removeEventListener('scroll',this.handleScroll)
  },
};
</script>

<style lang='stylus' scoped>
.header-abs {
  position: absolute;
  top: 0.2rem;
  left: 0.2rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 0.4rem;
  line-height: 0.8rem;
  text-align: center;
  background: rgba(0, 0, 0, 1);
  z-index: 1;

  .header-abs-icon {
    color: #fff;
    font-size: 0.4rem;
  }
}

@import '~styles/varibles.styl';

.header-fixed {
  position: fixed;
  top : 0;
  left : 0
  right : 0
  height: $headerHeight;
  line-height: $headerHeight;
  text-align: center;
  color: #fff;
  background: $bgColor;
  font-size: 0.32rem;
  z-index: 1;
  .header-fixed-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 0.64rem;
    text-align: center;
    font-size: 0.4rem;
    color: #fff;
  }
}
</style>
